home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
program
/
swaga_c.zip
/
CURSOR.SWG
/
0021_Better Cursor Control.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1994-05-25
|
1KB
|
39 lines
{
A much better more reliable method is just to set the CURRENT cursor's bit
5 to disable it, then mask it back off again...
}
unit cursor; {Public domain, by Sean Palmer}
interface
var maxSize:byte;
procedure cursorOn;
procedure cursorOff;
procedure setSize(scans:byte); {set size from bottom, or 0 for off}
procedure detect; {get max scan lines by reading current cursor}
implementation
procedure cursorOn;assembler;asm
mov ah,3; mov bh,0; int $10; and ch,not $20; mov ah,1; int $10;
end;
procedure cursorOff;assembler;asm
mov ah,3; mov bh,0; int $10; or ch,$20; mov ah,1; int $10;
end;
procedure setSize(scans:byte);var t:byte;begin
if scans=0 then t:=$20 else t:=maxSize-scans;
asm mov ah,1; mov bh,0; mov ch,t; mov cl,maxSize; dec cl; int $10; end;
end;
{call whenever you change text cell height}
procedure detect;assembler;asm {do NOT call while cursor's hidden}
mov ah,3; mov bh,0; int $10; inc cl; mov maxSize,cl;
end;
begin
detect;
end.